86 research outputs found
Sampler Programs: The Stable Model Semantics of Abstract Constraint Programs Revisited
Abstract constraint atoms provide a general framework for the study of aggregates utilized in answer set programming. Such primitives suitably increase the expressive power of rules and enable more concise representation of various domains as answer set programs. However, it is non-trivial to generalize the stable model semantics for programs involving arbitrary abstract constraint atoms. For instance, a nondeterministic variant of the immediate consequence operator is needed, or the definition of stable models cannot be stated directly using primitives of logic programs. In this paper, we propose sampler programs as a relaxation of abstract constraint programs that better lend themselves to the program transformation involved in the definition of stable models. Consequently, the declarative nature of stable models can be restored for sampler programs and abstract constraint programs are also covered if decomposed into sampler programs. Moreover, we study the relationships of the classes of programs involved and provide a characterization in terms of abstract but essentially deterministic computations. This result indicates that all nondeterminism related with abstract constraint atoms can be resolved at the level of program reduct when sampler programs are used as the intermediate representation
Optimizing Phylogenetic Supertrees Using Answer Set Programming
The supertree construction problem is about combining several phylogenetic
trees with possibly conflicting information into a single tree that has all the
leaves of the source trees as its leaves and the relationships between the
leaves are as consistent with the source trees as possible. This leads to an
optimization problem that is computationally challenging and typically
heuristic methods, such as matrix representation with parsimony (MRP), are
used. In this paper we consider the use of answer set programming to solve the
supertree construction problem in terms of two alternative encodings. The first
is based on an existing encoding of trees using substructures known as
quartets, while the other novel encoding captures the relationships present in
trees through direct projections. We use these encodings to compute a
genus-level supertree for the family of cats (Felidae). Furthermore, we compare
our results to recent supertrees obtained by the MRP method.Comment: To appear in Theory and Practice of Logic Programming (TPLP),
Proceedings of ICLP 201
Boosting Answer Set Optimization with Weighted Comparator Networks
Answer set programming (ASP) is a paradigm for modeling knowledge intensive
domains and solving challenging reasoning problems. In ASP solving, a typical
strategy is to preprocess problem instances by rewriting complex rules into
simpler ones. Normalization is a rewriting process that removes extended rule
types altogether in favor of normal rules. Recently, such techniques led to
optimization rewriting in ASP, where the goal is to boost answer set
optimization by refactoring the optimization criteria of interest. In this
paper, we present a novel, general, and effective technique for optimization
rewriting based on comparator networks, which are specific kinds of circuits
for reordering the elements of vectors. The idea is to connect an ASP encoding
of a comparator network to the literals being optimized and to redistribute the
weights of these literals over the structure of the network. The encoding
captures information about the weight of an answer set in auxiliary atoms in a
structured way that is proven to yield exponential improvements during
branch-and-bound optimization on an infinite family of example programs. The
used comparator network can be tuned freely, e.g., to find the best size for a
given benchmark class. Experiments show accelerated optimization performance on
several benchmark problems.Comment: 36 page
Capturing (Optimal) Relaxed Plans with Stable and Supported Models of Logic Programs
We establish a novel relation between delete-free planning, an important task
for the AI Planning community also known as relaxed planning, and logic
programming. We show that given a planning problem, all subsets of actions that
could be ordered to produce relaxed plans for the problem can be bijectively
captured with stable models of a logic program describing the corresponding
relaxed planning problem. We also consider the supported model semantics of
logic programs, and introduce one causal and one diagnostic encoding of the
relaxed planning problem as logic programs, both capturing relaxed plans with
their supported models. Our experimental results show that these new encodings
can provide major performance gain when computing optimal relaxed plans, with
our diagnostic encoding outperforming state-of-the-art approaches to relaxed
planning regardless of the given time limit when measured on a wide collection
of STRIPS planning benchmarks.Comment: Paper presented at the 39th International Conference on Logic
Programming (ICLP 2023), 14 page
Implementing Stable-Unstable Semantics with ASPTOOLS and Clingo
Normal logic programs subject to stable model semantics cover reasoning problems from the first level of polynomial time hierarchy (PH) in a natural way. Disjunctive programs reach one level beyond this, but the access to the underlying NP oracle(s) is somewhat implicit and available for the programmer using the so-called saturation technique. To address this shortcoming, stable-unstable semantics was proposed, making oracles explicit as subprograms having no stable models. If this idea is applied recursively, any level of PH can be reached with normal programs only, in analogy to quantified Boolean formulas (QBFs). However, for the moment, no native implementations of stable-unstable semantics have emerged except via translations toward QBFs. In this work, we alleviate this situation with a translation of (effectively) normal programs that combines a main program with any fixed number of oracles subject to stable-unstable semantics. The result is a disjunctive program that can be fed as input for answer set solvers supporting disjunctive programs. The idea is to hide saturation from the programmer altogether, although it is exploited by the translation internally. The translation of oracles is performed using translators and linkers from the ASPTOOLS collection while Clingo is used as the back-end solver.acceptedVersionPeer reviewe
- …